package com.yunkeji.system.domain.bo;

import com.yunkeji.common.core.domain.BaseEntity;
import com.yunkeji.common.core.validate.AddGroup;
import com.yunkeji.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 通话录音检查业务对象 ykj_call_voice_check
 *
 * @author yunkeji
 * @date 2024-08-18
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class CallVoiceCheckBo extends BaseEntity {

    /** */
    @NotNull(
            message = "不能为空",
            groups = {EditGroup.class})
    private Long id;

    /** 主叫爱洞ID */
    @NotNull(
            message = "主叫爱洞ID不能为空",
            groups = {AddGroup.class, EditGroup.class})
    private Long callPlatformId;

    /** 被叫爱洞ID */
    @NotNull(
            message = "被叫爱洞ID不能为空",
            groups = {AddGroup.class, EditGroup.class})
    private Long answerPlatformId;

    /** 通话唯一标识 */
    @NotBlank(
            message = "通话唯一标识不能为空",
            groups = {AddGroup.class, EditGroup.class})
    private String ucid;

    /** 命中关键词 */
    @NotBlank(
            message = "命中关键词不能为空",
            groups = {AddGroup.class, EditGroup.class})
    private String keyWord;

    /** 1=未处理 2=忽略 3=违规 */
    @NotNull(
            message = "1=未处理 2=忽略 3=违规不能为空",
            groups = {AddGroup.class, EditGroup.class})
    private Integer status;

    /** 违规录音 */
    @NotBlank(
            message = "违规录音不能为空",
            groups = {AddGroup.class, EditGroup.class})
    private String voiceUrl;

    /** 备注 */
    @NotBlank(
            message = "备注不能为空",
            groups = {AddGroup.class, EditGroup.class})
    private String remark;

    /** 录音识别文本 */
    @NotBlank(
            message = "录音识别文本不能为空",
            groups = {AddGroup.class, EditGroup.class})
    private String voiceText;
}
